# 任务5：(数据结构)栈，队列，字典，元组，树，链表。


# python没有内置栈，但是列表可以用来作为栈的使用
stack = [ ]
stack.append('a')
stack.append('b')
stack.append('c')
print('初始栈',stack)
print('移除的元素',stack.pop())
print('移除后的栈',stack)

#队列的使用
queue = []
queue.append('a')
queue.append('b')
print(queue.pop(0)) #queue.pop出栈


#字典的使用
my_dict = {"key1" : "value1","key2": "value2","key3":"value3"}
print(my_dict["key3"])
#遍历键
for key in my_dict:
    print(key)
#遍历值
for value in my_dict.values():
    print(value)

#元组的使用,一旦一个元组被创建,不能改变它,只能查找，不能修改
t = (5,'program',1+3j)
print(t[0])
print(t[-1])
#特殊的语法,生成器表达式
t1= (i for i in range(10))
print(t1)


#列表是一种动态数组，用数组来模拟链表的使用,
#定义Node类，data用来存储数据，Next用来指向下一个节点
class Node:
    def __init__(self,data) -> None:
        self.data = data
        self.next = None
